草庐IT

JAVA getConstructor 抛出 NoSuchMethodException

全部标签

添加带有参数的生成方法时编译器抛出的java.lang.AssertionError

我正在使用带有注释处理器的内部sunAPI(com.sun.tools.javac)修改现有类。我能够使用以下代码生成MethodDecl并将其添加到ClassDecl:JCTree.JCClassDeclclassDecl=...JCTree.JCMethodDeclmethodDecl=...JCTree[]trees=newJCTree[classDecl.defs.length()+1];trees[classDecl.defs.length()]=methodDecl;classDecl.defs=List.from(trees);在我尝试向方法声明中添加参数之前,它工作正常

java - 为什么下面的代码没有抛出IndexOutOfBoundsException,并打印出9 9 6?

我是java新手。我有一个疑问。classArrTest{publicstaticvoidmain(Stringargs[]){inti=0;int[]a={3,6};a[i]=i=9;System.out.println(i+""+a[0]+""+a[1]);//996}} 最佳答案 这是伟大的Java评估规则适用的另一个很好的例子。Java从左到右解析地址。a[i]就是a[0]的地址,然后i就是i的地址,然后把9赋给i,再把9赋给[0]。IndexOutOfBoundsException永远不会被抛出,因为a[0]没有越界。误解

java - 当线程被中断时,BlockingQueue 方法是否总是抛出 InterruptedException?

在我的一个Java6应用程序中,我有一个线程向主线程提供数据,同时还从数据库中预取更多记录。它使用ArrayBlockingQueuequeue作为一个FIFO缓冲区,它的主循环是这样的:while(!Thread.interrupted()){if(source.hasNext()){try{queue.put(source.next())}catch(InterruptedExceptione){break;}}else{break;}}有些代码会在循环终止后进行一些清理,例如污染队列和释放任何资源,但这几乎就是全部。就目前而言,没有从主线程到供给线程的直接通信:供给线程使用适当的

java - 嵌套线程可以为父线程抛出异常吗?

我有一个Controller类和一个Monitor工作线程。Controller线程看起来像这样publicclassControllerA{publicvoidControllerA(){try{doWork();}catch(OhNoExceptione){//catchexception}publicvoiddoWork()throwsOhNoException{newThread(newRunnable(){publicvoidrun(){//NeedstomonitorresourcesofControllerA,//ifthingsgowrong,itneedstothro

java - cglib 在增强 java.util.Date 类时抛出 IllegalArgumentException

我正在尝试使用cglib增强java.util.Date。它不起作用,而且我没有使用cglib的经验,所以我想知道出了什么问题。例如,下面增强ArrayList的代码有效:@Testpublicvoidenhance_ArrayList(){Enhancerenhancer=newEnhancer();enhancer.setSuperclass(ArrayList.class);enhancer.setCallback(newFixedValue(){@OverridepublicObjectloadObject()throwsException{return"Hellocglib!

java - 为什么抛出方法签名的一部分

为什么方法上的throws是其签名的一部分?包括它似乎很奇怪。这是一个阻碍的例子:@Overidepublicvoidfoo(){thrownewUnsupportedOperationException();}如果有人从外部看到此方法,他们可能会在不知道它不受支持的情况下尝试使用它。他们只会在尝试运行代码时学习它。但是,如果他们可以做这样的事情,他们会通过查看不支持的方法知道,如果UnsupportedOperationException没有扩展RuntimeException,他们会得到编译错误。EDIT1:但这是不可能的,因为throws是签名的一部分,因此覆盖将不起作用。@Ov

Java - 获取泛型对象作为 String 泛型类型抛出异常

publicclassBox{privateTelement;publicTgetElement(){returnelement;}publicvoidsetElement(Telement){this.element=element;}}publicclassTest{publicstaticvoidmain(String[]args){Listl=newArrayList();//JustListofBoxwithnospecifictypeBoxbox1=newBox();box1.setElement("aa");Boxbox2=newBox();box2.setElement

java - 更新 jar 中的文件会抛出 ZipException

我正在尝试使用以下命令更新现有jar(在此示例中为antlr)中的文件:jar-ufantlrworks-1.2.3.jarorg/antlr/codegen/templates/Java/Java.stg但我收到以下消息java.util.zip.ZipException:duplicateentry:antlr/ANTLRError.classatjava.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)atjava.util.jar.JarOutputStream.putNextEntry(JarOut

Java URLDecoder 在与包含 % 的字符串一起使用时抛出异常

我对Java的URLDecoder有疑问。我正在用JavaScript转义一个字符串,并将它发送到一个javaservlet。然后我使用以下行解码转义的字符串:URLDecoder.decode(request.getParameter("text"),"UTF-8");这对我尝试过的每个特殊字符都适用,唯一有问题的是“%”。每次我在字符串中使用这个字符时,都会出现以下异常:java.lang.IllegalArgumentException:URLDecoder:Incompletetrailingescape(%)patternjava.net.URLDecoder.decode(

java - 返回值的静态方法可以抛出异常吗?

我有一个返回字符串的静态方法,但如果传入的字符串与几个单词之一不匹配,我想抛出异常。下面的代码只是我正在尝试做的事情的示例,但我在抛出异常的那一行不断收到“无法从静态上下文中引用的非静态变量”消息。基本上,getMsg的返回值必须有效,否则程序无法继续,所以我需要一种方法来捕获它。publicstaticStringgetMsg(Stringinput)throwsUnknownInputException{if(input.equals("A")){return"keyforA";}thrownewUnknownInputException("SomeMessage");return